package main

import (
	"iter"
)

/*
*
迭代器的作用是帮助集合遍历和处理元素,不需要for-range内部去写逻辑,让所有集合通用,
迭代器是一个带有yield函数参数的函数,
*/
func Stat(v int) iter.Seq[int] {
	return func(yield func(int) bool) {
		for i := v; i >= 0; i-- {
			if i < 3 {
				break
			}
			//如果调用了break,这里会收到false
			if !yield(i) {
				return
			}
		}
	}
}

//func main() {
//	for v := range Stat(11) {
//		fmt.Println(v)
//	}
//}
